///*
// * ========================================================
// * Copyright(c) 2014 杭州偶尔科技-版权所有
// * ========================================================
// * 本软件由杭州偶尔科技所有, 未经书面许可, 任何单位和个人不得以
// * 任何形式复制代码的部分或全部, 并以任何形式传播。
// * 公司网址
// *
// * 			http://www.kkkd.com/
// *
// * ========================================================
// */
//package com.simon.mengkou.ui.fragment;
//
//import android.content.Intent;
//import android.os.Bundle;
//import android.os.Handler;
//import android.support.annotation.StringRes;
//import android.support.design.widget.TabLayout;
//import android.support.v4.app.Fragment;
//import android.support.v4.view.ViewPager;
//import android.view.LayoutInflater;
//import android.view.MotionEvent;
//import android.view.View;
//import android.widget.AdapterView;
//import android.widget.ImageButton;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//
//import com.facebook.drawee.view.SimpleDraweeView;
//import com.handmark.pulltorefresh.library.PullToRefreshBase;
//import com.handmark.pulltorefresh.library.PullToRefreshListView;
//import com.ouertech.android.agm.lib.base.future.core.AgnettyFuture;
//import com.ouertech.android.agm.lib.base.future.core.AgnettyResult;
//import com.ouertech.android.agm.lib.base.utils.UtilDate;
//import com.ouertech.android.agm.lib.base.utils.UtilDevice;
//import com.ouertech.android.agm.lib.base.utils.UtilList;
//import com.ouertech.android.agm.lib.base.utils.UtilLog;
//import com.ouertech.android.agm.lib.base.utils.UtilString;
//import com.ouertech.android.agm.lib.ui.base.BaseUIFragment;
//import com.ouertech.android.agm.lib.ui.base.FragmentTab;
//import com.ouertech.android.agm.lib.ui.base.FragmentTabAdapter;
//import com.ouertech.android.agm.lib.ui.base.UIOptions;
//import com.simon.mengkou.R;
//import com.simon.mengkou.data.bean.base.Banner;
//import com.simon.mengkou.data.bean.base.Category;
//import com.simon.mengkou.data.bean.base.Follow;
//import com.simon.mengkou.data.bean.base.GoodTopic;
//import com.simon.mengkou.data.bean.base.Image;
//import com.simon.mengkou.data.bean.base.SignResult;
//import com.simon.mengkou.data.bean.base.Topic;
//import com.simon.mengkou.data.bean.base.User;
//import com.simon.mengkou.data.bean.req.FollowReq;
//import com.simon.mengkou.data.cache.DataCacheImpl;
//import com.simon.mengkou.data.enums.EBannerType;
//import com.simon.mengkou.data.enums.EDirection;
//import com.simon.mengkou.future.base.OuerFutureListener;
//import com.simon.mengkou.system.constant.CstOuer;
//import com.simon.mengkou.system.global.OuerApplication;
//import com.simon.mengkou.system.global.OuerDispatcher;
//import com.simon.mengkou.ui.activity.CategoryAdapter;
//import com.simon.mengkou.ui.activity.ProductDetailActivity;
//import com.simon.mengkou.ui.adapter.GoodsTopicAdapter;
//import com.simon.mengkou.ui.adapter.HomeBannerAdapter;
//import com.simon.mengkou.ui.adapter.HomeTopicAdapter;
//import com.simon.mengkou.ui.adapter.HotTopicAdapter;
//import com.simon.mengkou.ui.adapter.ProductActivityAdapter;
//import com.simon.mengkou.ui.adapter.ProductImageAdapter;
//import com.simon.mengkou.ui.adapter.VideoPagerAdapter;
//import com.simon.mengkou.ui.dialog.SignDialog;
//import com.simon.mengkou.ui.view.BaseViewPager;
//import com.simon.mengkou.ui.view.CustomViewPager;
//import com.simon.mengkou.ui.view.HorizontalListView;
//import com.simon.mengkou.ui.view.LoopPageIndicator;
//import com.simon.mengkou.ui.view.LoopViewPager;
//import com.simon.mengkou.ui.view.LoopViewPagerAdapter;
//import com.simon.mengkou.ui.view.MyGridView;
//import com.simon.mengkou.utils.UtilOuer;
//
//import java.util.ArrayList;
//import java.util.Calendar;
//import java.util.List;
//
//import butterknife.Bind;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import io.vov.vitamio.MediaPlayer;
//import io.vov.vitamio.widget.MediaController2;
//import io.vov.vitamio.widget.VideoView2;
//
///**
// * @author : Zhenshui.Xia
// * @since : 2016/2/29.
// * desc    : 首页
// */
//public class HomeFragment2 extends BaseUIFragment
//        implements PullToRefreshBase.OnRefreshListener2<ListView>{
//    //签到
//    @Bind(R.id.home_id_sign)
//    ImageButton mIbSign;
//
//    //消息
//    @Bind(R.id.home_id_message)
//    ImageButton mIbMessage;
//    @Bind(R.id.common_pulltorefresh_id_list)
//    PullToRefreshListView mPtrView;
//
//    private RelativeLayout mRlBannerRoot;
//    //单张商品图片
//    private SimpleDraweeView mSdvImage;
//    //多张商品图片
//    private LoopViewPager mLvpPager;
//    private LoopViewPagerAdapter mPagerAdapter;
//    private LoopPageIndicator mLvpIndicator;
//    private HomeBannerAdapter mImageAdapter;
//    private LinearLayout mLlGoodsTopicRoot;
//    private MyGridView mMgvGoodsTopic;
//    private HorizontalListView mHlzHotTopic;
//    private LinearLayout mLlHotTopicRoot;
//    private TextView mTvVideoTitle;
//    private LinearLayout mLlVideoRoot;
//    private ImageView mIvVideoLeft;
//    private ImageView mIvVideoRight;
//    private CustomViewPager mVpVideo;
//    private VideoView2 mVvVideo;
//
//    private HomeTopicAdapter mHomeTopicAdapter;
//    private HotTopicAdapter mHotTopicAdapter;
//    private VideoPagerAdapter mVideoAdapter;
//    private String mMaxId = CstOuer.PAGE.DEFAULT_MAXID;
//
//    @Override
//    protected long initOptions() {
//        return UIOptions.UI_OPTIONS_SYSTEMBAR
//                | UIOptions.UI_OPTIONS_APPBAR_CUSTIOM
//                | UIOptions.UI_OPTIONS_CONTENT_CUSTOM;
//    }
//
//
//    @Override
//    protected void initAppCustom() {
//        setAppCustomLayout(R.layout.layout_home_header);
//    }
//
//    @Override
//    protected void initLayout() {
//        setContentView(R.layout.layout_common_pulltorefresh_list);
//    }
//
//    @Override
//    protected void initViews() {
//        ButterKnife.bind(this, getView());
//
//        //签到
//        final String currDate = UtilDate.formatDate(Calendar.getInstance(), UtilDate.FORMAT_YYYYMMDD);
//        String lastDate = OuerApplication.mPreferences.getSigntime(OuerApplication.mUser.getUserId());
//        if (!currDate.equals(lastDate)) {//没签到
//            mIbSign.setImageResource(R.drawable.user_ic_unsign);
//            userIsSign();
//        } else {
//            mIbSign.setImageResource(R.drawable.user_ic_signed);
//        }
//
//
//        mPtrView.setOnRefreshListener(this);
//        mPtrView.setMode(PullToRefreshBase.Mode.DISABLED);
//        mPtrView.setTag(false);
//
//        int width = UtilDevice.getDevice(mActivity).getWidth();
//
//        //头部
//        View header = LayoutInflater.from(mActivity).inflate(R.layout.layout_home_list_header, null);
//        //banner
//        mRlBannerRoot = (RelativeLayout)header.findViewById(R.id.home_id_banner_root);
//        mRlBannerRoot.getLayoutParams().height = (int)(width/1.67f);
//        mSdvImage = (SimpleDraweeView)header.findViewById(R.id.home_id_image);
//        mLvpIndicator = (LoopPageIndicator)header.findViewById(R.id.home_id_indicator);
//        mLvpPager = (LoopViewPager) header.findViewById(R.id.home_id_banner);
//        mLvpPager.setAutoScroll(true);
//
//        //商品专题
//        mMgvGoodsTopic = (MyGridView) header.findViewById(R.id.home_id_goods_topic);
//        mLlGoodsTopicRoot = (LinearLayout) header.findViewById(R.id.home_id_goods_topic_root);
//        //热门帖子
//        mLlHotTopicRoot = (LinearLayout) header.findViewById(R.id.home_id_hot_topic_root);
//        mHlzHotTopic = (HorizontalListView) header.findViewById(R.id.home_id_hot_topic);
////        mHotTopicAdapter = new HotTopicAdapter(mActivity, this);
//        mHlzHotTopic.setAdapter(mHotTopicAdapter);
//        mHlzHotTopic.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//            @Override
//            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//                if(position != mHotTopicAdapter.getCount() -1) {
//                    OuerDispatcher.presentShareOrderDetailActivity(mActivity, mHotTopicAdapter.getItem(position).getId());
//                }
//            }
//        });
//
//        //置顶视频
//        mLlVideoRoot = (LinearLayout)header.findViewById(R.id.home_id_top_video_root);
//        header.findViewById(R.id.home_id_top_video_img_root).getLayoutParams().height = (int)(width / 2f);
//        mVpVideo = (CustomViewPager) header.findViewById(R.id.home_id_top_video);
////        mVideoAdapter = new VideoPagerAdapter(mActivity, this, null);
//        mVpVideo.setAdapter(mVideoAdapter);
//
//        mTvVideoTitle = (TextView)header.findViewById(R.id.home_id_video_title);
//        mVpVideo.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
//            @Override
//            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//
//            }
//
//            @Override
//            public void onPageSelected(int position) {
//                mTvVideoTitle.setText(mVideoAdapter.getItem(position).getTitle());
//                updateVideoArrowVisibility(true);
//            }
//
//            @Override
//            public void onPageScrollStateChanged(int state) {
//
//            }
//        });
//
//        mIvVideoLeft = (ImageView)header.findViewById(R.id.home_id_video_left);
//        mIvVideoLeft.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                //上一个热门视频
//                int position = mVpVideo.getCurrentItem();
//                if(position > 0) {
//                    mVpVideo.setCurrentItem(position -1, true);
//                }
//            }
//        });
//
//        mIvVideoRight = (ImageView)header.findViewById(R.id.home_id_video_right);
//        mIvVideoRight.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                //下一个热门视频
//                int position = mVpVideo.getCurrentItem();
//                if(position < mVideoAdapter.getCount() - 1) {
//                    mVpVideo.setCurrentItem(position + 1, true);
//                }
//            }
//        });
//
//
//        mVvVideo = (VideoView2) header.findViewById(R.id.surface_view);
//        mVvVideo.getLayoutParams().height = (int) (width /2f);
//        mVvVideo.setVisibility(View.GONE);
//
//        header.findViewById(R.id.home_id_video_more).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                //查看更多视频
//                OuerDispatcher.presentVideoListActivity(mActivity);
//            }
//        });
//
//        mPtrView.getRefreshableView().addHeaderView(header);
//
//
//        mHomeTopicAdapter = new HomeTopicAdapter(mActivity);
//        mPtrView.setAdapter(mHomeTopicAdapter);
//
//        //首次失败重试
//        setOnRetryListener(new OnRetryListener() {
//            @Override
//            public void onRetry() {
//                homeBanner();
//                goodsTopic();
//                hotPost();
//                topVideo();
//                getData(CstOuer.PAGE.DEFAULT_MAXID, EDirection.REFRESH);
//            }
//        });
//
//        //获取数据
//        List<Banner> banners = OuerApplication.mCacheFactory.getCache(DataCacheImpl.HomeBannerCache.class).getData();
//        if(UtilList.isNotEmpty(banners)) {
//            setHomeBanner(banners);
//        }
//
//        List<Follow> posts = OuerApplication.mCacheFactory.getCache(DataCacheImpl.HotPostCache.class,
//                OuerApplication.mUser.getUserId()).getData();
//
//        if(UtilList.isNotEmpty(posts)) {
//            setHotPost(posts);
//        }
//
//        List<GoodTopic> topics = OuerApplication.mCacheFactory.getCache(DataCacheImpl.GoodsTopicCache.class).getData();
//        if(UtilList.isNotEmpty(topics)) {
//            setGoodsTopic(topics);
//        }
//
//        List<Follow> videos = OuerApplication.mCacheFactory.getCache(DataCacheImpl.HotVideoCache.class,
//                OuerApplication.mUser.getUserId()).getData();
//
//        if(UtilList.isNotEmpty(videos)) {
//            setTopVideo(videos);
//        }
//
//        List<Topic> homeTopics = OuerApplication.mCacheFactory.getCache(DataCacheImpl.HomeTopicCache.class).getData();
//        if(UtilList.isNotEmpty(homeTopics)) {
//            mPtrView.setTag(true);
//            mPtrView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
//            mHomeTopicAdapter.setList(homeTopics);
//        }
//
//        homeBanner();
//        goodsTopic();
//        hotPost();
//        topVideo();
//        getData(CstOuer.PAGE.DEFAULT_MAXID, EDirection.REFRESH);
//
//
//        //注册消息广播
//        registerAction(CstOuer.BROADCAST_ACTION.MESSAGE_ACTION);
//        registerAction(CstOuer.BROADCAST_ACTION.FOLLOW_ACTION);
//        registerAction(CstOuer.BROADCAST_ACTION.VIDEO_FOLLOW_ACTION);
//        setMessageIcon();
//    }
//
//
//    @Override
//    public void onResume() {
//        super.onResume();
//        mLvpPager.startScroll();
//    }
//
//    @Override
//    public void onPause() {
//        super.onPause();
//        mLvpPager.cancelScroll();
//
//        if(mVvVideo.getVisibility() == View.VISIBLE ) {
//            mVvVideo.stopPlayback();
//            mVvVideo.setVisibility(View.GONE);
//            mVpVideo.setScrollble(true);
//            mVideoAdapter.setPlayable(true);
//            updateVideoArrowVisibility(true);
//        }
//    }
//
//    @Override
//    protected void onReceive(Intent intent) {
//        super.onReceive(intent);
//        //消息推送广播
//        String action = intent.getAction();
//        if(CstOuer.BROADCAST_ACTION.MESSAGE_ACTION.equals(action)) {
//            setMessageIcon();
//        }if(CstOuer.BROADCAST_ACTION.FOLLOW_ACTION.equals(intent.getAction())) {
//            //更新关注状态
//            FollowReq req = (FollowReq) intent.getSerializableExtra(CstOuer.KEY.FOLLOW);
//            List<Follow> datas = mHotTopicAdapter.getData();
//            if(UtilList.isNotEmpty(datas)) {
//                for(Follow follow : datas) {
//                    User user = follow.getUser();
//                    if(user.getUserId().equals(req.getTargetId())) {
//                        user.setInterested(req.isChecked());
//                    }
//                }
//            }
//
//            mHotTopicAdapter.notifyDataSetChanged();
//
//
//            List<Follow> datas2 = mVideoAdapter.getData();
//            if(UtilList.isNotEmpty(datas2)) {
//                for(Follow follow : datas2) {
//                    User user = follow.getUser();
//                    if(user.getUserId().equals(req.getTargetId())) {
//                        user.setInterested(req.isChecked());
//                    }
//                }
//            }
//        }else if(CstOuer.BROADCAST_ACTION.VIDEO_FOLLOW_ACTION.equals(intent.getAction())) {
//            String id =  intent.getStringExtra(CstOuer.KEY.ID);
//            List<Follow> datas = mVideoAdapter.getData();
//
//            if(UtilList.isNotEmpty(datas)) {
//                for(Follow follow : datas) {
//                    if(follow.getId().equals(id)) {
//                        follow.setCollected(true);
//                    }
//                }
//            }
//
//        }
//    }
//
//    @Override
//    public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
//        //下拉刷新
//        getData(CstOuer.PAGE.DEFAULT_MAXID, EDirection.REFRESH);
//    }
//
//    @Override
//    public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//        //上拉加载更多
//        getData(mMaxId, EDirection.LOADMORE);
//    }
//
//    /**
//     * 打开扭蛋拉新界面
//     */
//    @OnClick(R.id.home_id_sign)
//    public void sign() {
//        userSign();
//    }
//
//    /**
//     * 打开消息界面
//     */
//    @OnClick(R.id.home_id_message)
//    public void presentMessage() {
//        OuerApplication.mPreferences.setMessage(false);
//        setMessageIcon();
//
//        OuerDispatcher.presentMessageActivity(mActivity);
//    }
//
//    /**
//     * 设置消息图标
//     */
//    public void setMessageIcon() {
//        //有未读消息
//        if(OuerApplication.mPreferences.getMessage()) {
//            mIbMessage.setImageResource(R.drawable.home_ic_message_pressed);
//        } else {
//            mIbMessage.setImageResource(R.drawable.home_ic_message_normal);
//        }
//    }
//
//
//    /**
//     * 首页Banner列表
//     */
//    private void homeBanner() {
//        AgnettyFuture future = OuerApplication.mOuerFuture.homeBanner(
//                new OuerFutureListener(mActivity) {
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        final List<Banner> datas = (List<Banner>) result.getAttach();
//                        OuerApplication.mCacheFactory.getCache(DataCacheImpl.HomeBannerCache.class)
//                                .save(datas);
//                        setHomeBanner(datas);
//                    }
//
//                    @Override
//                    public void onNetUnavaiable(AgnettyResult result) {
//
//                    }
//                }
//        );
//
//        attachDestroyFutures(future);
//    }
//
//    private void setHomeBanner(List<Banner> datas) {
//        if (UtilList.isNotEmpty(datas)) {
//            mRlBannerRoot.setVisibility(View.VISIBLE);
//
//            if(UtilList.getCount(datas) == 1) {
//                final Banner data = datas.get(0);
//                OuerApplication.mImageLoader.loadImage(mSdvImage, data.getImage().getUrl());
//                mSdvImage.setOnClickListener(new View.OnClickListener() {
//                    @Override
//                    public void onClick(View v) {
//                        switch (data.getType()) {
//                            case EBannerType.BANNER_ACTIVITY:
//                                OuerDispatcher.presentWebActivity(mActivity, data.getRelateId(), null);
//                                break;
//                            case EBannerType.BANNER_PRODUCT:
//                                OuerDispatcher.presentProductDetailActivity(mActivity, data.getRelateId());
//                                break;
//                            case EBannerType.BANNER_SHARE_ORDER:
//                                OuerDispatcher.presentShareOrderDetailActivity(mActivity, data.getRelateId());
//                                break;
//                            case EBannerType.BANNER_TOPIC:
//                                OuerDispatcher.presentWebTopicDetailActivity(mActivity, data.getRelateId());
//                                break;
//                            default:
//                                break;
//                        }
//                    }
//                });
//            } else {
//                mLvpIndicator.initIndicator(0,
//                        datas.size(),
//                        R.drawable.common_ic_indicator_dot_normal,
//                        R.drawable.common_ic_indicator_dot_focus);
//
//                mImageAdapter = new HomeBannerAdapter(mActivity, datas);
//                mPagerAdapter = new LoopViewPagerAdapter(mImageAdapter);
//                mLvpPager.setInfinateAdapter(mPagerAdapter);
//
//                mLvpPager.setOnPageChangeListener(new BannerPageChangeListener(datas.size()));
//            }
//        } else {
//            mRlBannerRoot.setVisibility(View.GONE);
//        }
//    }
//
//
//    /**
//     * 首页商品专题
//     */
//    private void goodsTopic() {
//        AgnettyFuture future = OuerApplication.mOuerFuture.goodsTopic(
//                new OuerFutureListener(mActivity) {
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        List<GoodTopic> datas = (List<GoodTopic>) result.getAttach();
//                        OuerApplication.mCacheFactory.getCache(DataCacheImpl.GoodsTopicCache.class)
//                                .save(datas);
//                        setGoodsTopic(datas);
//                    }
//
//                    @Override
//                    public void onNetUnavaiable(AgnettyResult result) {
//
//                    }
//                }
//        );
//
//        attachDestroyFutures(future);
//    }
//
//
//    private void setGoodsTopic(List<GoodTopic> datas) {
//        if(UtilList.isNotEmpty(datas)) {
//            mLlGoodsTopicRoot.setVisibility(View.VISIBLE);
//            GoodsTopicAdapter adapter = new GoodsTopicAdapter(mActivity, datas);
//            mMgvGoodsTopic.setAdapter(adapter);
//        } else {
//            mLlGoodsTopicRoot.setVisibility(View.GONE);
//        }
//    }
//
//
//    /**
//     * 热门帖子
//     */
//    private void hotPost() {
//        AgnettyFuture future = OuerApplication.mOuerFuture.hotPost(
//                new OuerFutureListener(mActivity) {
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        List<Follow> datas = (List<Follow>) result.getAttach();
//                        OuerApplication.mCacheFactory.getCache(DataCacheImpl.HotPostCache.class,
//                                OuerApplication.mUser.getUserId())
//                                .save(datas);
//                        setHotPost(datas);
//                    }
//
//                    @Override
//                    public void onNetUnavaiable(AgnettyResult result) {
//
//                    }
//                }
//        );
//
//        attachDestroyFutures(future);
//    }
//
//    private void setHotPost(List<Follow> datas) {
//        if(UtilList.isNotEmpty(datas)) {
//            mLlHotTopicRoot.setVisibility(View.VISIBLE);
//            mHotTopicAdapter.setList(datas);
//        } else {
//            mLlHotTopicRoot.setVisibility(View.GONE);
//        }
//    }
//
//
//    /**
//     * 置顶视频列表
//     */
//    private void topVideo() {
//        AgnettyFuture future = OuerApplication.mOuerFuture.topVideo(
//                new OuerFutureListener(mActivity) {
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        List<Follow> datas = (List<Follow>) result.getAttach();
//                        OuerApplication.mCacheFactory.getCache(DataCacheImpl.HotVideoCache.class,
//                                OuerApplication.mUser.getUserId())
//                                .save(datas);
//                        setTopVideo(datas);
//                    }
//
//                    @Override
//                    public void onNetUnavaiable(AgnettyResult result) {
//
//                    }
//                }
//        );
//
//        attachDestroyFutures(future);
//    }
//
//
//    private void setTopVideo(List<Follow> datas) {
//        if(UtilList.isNotEmpty(datas)) {
//            mLlVideoRoot.setVisibility(View.VISIBLE);
//            mVideoAdapter.setList(datas);
//            mTvVideoTitle.setText(datas.get(0).getTitle());
//            updateVideoArrowVisibility(true);
//        } else {
//            mLlVideoRoot.setVisibility(View.GONE);
//        }
//    }
//
//    public void playVideo(final Follow follow) {
//        String url = follow.getVideoUrl();
//        if(UtilString.isBlank(url)) {
//            UtilOuer.toast(mActivity, R.string.video_player_error);
//            return;
//        }
//
//        mVpVideo.setScrollble(false);
//        mVideoAdapter.setPlayable(false);
//        updateVideoArrowVisibility(false);
//        mVvVideo.setVisibility(View.VISIBLE);
//        mVvVideo.setVideoPath(url);
//        MediaController2 mediaController = new MediaController2(mActivity);
//
//        mediaController.setOnNavListener(new MediaController2.OnNavListener() {
//            @Override
//            public void onNav() {
//                mVvVideo.stopPlayback();
//                mVpVideo.setScrollble(true);
//                mVideoAdapter.setPlayable(true);
//                mVvVideo.setVisibility(View.GONE);
//                updateVideoArrowVisibility(true);
//            }
//        });
//
//        mediaController.setOnFullScreenListener(new MediaController2.OnFullScreenListener() {
//            @Override
//            public void onFullScreen() {
//                OuerDispatcher.presentVideoPlayerActivity(mActivity,
//                        follow.getId(), follow.getVideoUrl());
//                mVpVideo.setScrollble(true);
//                mVideoAdapter.setPlayable(true);
//                mVvVideo.setVisibility(View.GONE);
//                updateVideoArrowVisibility(true);
//                mVvVideo.stopPlayback();
//            }
//        });
//
//        mVvVideo.setMediaController(mediaController);
//        mVvVideo.requestFocus();
//
//        mVvVideo.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
//            @Override
//            public void onPrepared(MediaPlayer mediaPlayer) {
//                mediaPlayer.setPlaybackSpeed(1.0f);
//            }
//        });
//
//        mVvVideo.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
//            @Override
//            public void onCompletion(MediaPlayer mp) {
//                mVpVideo.setScrollble(true);
//                mVideoAdapter.setPlayable(true);
//                mVvVideo.setVisibility(View.GONE);
//                updateVideoArrowVisibility(true);
//            }
//        });
//    }
//
//    private void updateVideoArrowVisibility(boolean enable) {
//        if(enable) {
//            if (mVpVideo.getCurrentItem() == 0) {
//                mIvVideoLeft.setVisibility(View.GONE);
//            } else {
//                mIvVideoLeft.setVisibility(View.VISIBLE);
//            }
//
//            if (mVpVideo.getCurrentItem() == mVideoAdapter.getCount() - 1) {
//                mIvVideoRight.setVisibility(View.GONE);
//            } else {
//                mIvVideoRight.setVisibility(View.VISIBLE);
//            }
//        } else {
//            mIvVideoLeft.setVisibility(View.GONE);
//            mIvVideoRight.setVisibility(View.GONE);
//        }
//    }
//
//
//
//    /**
//     * 获取通知消息
//     * @param maxId
//     * @param direction
//     */
//    private void getData(final String maxId, final int direction) {
//        AgnettyFuture future = OuerApplication.mOuerFuture.getHomeTopicList(
//                maxId, CstOuer.PAGE.DEFAULT_MINID, CstOuer.PAGE.DEFAULT_SIZE,
//                new OuerFutureListener(mActivity){
//
//                    public void onStart(AgnettyResult result) {
//                        boolean flag = (Boolean)mPtrView.getTag();
//                        if(!flag) {
//                            setLoading(true);
//                        }
//                    }
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        boolean flag = (Boolean)mPtrView.getTag();
//                        if(!flag) {
//                            mPtrView.setTag(true);
//                            setLoading(false);
//                        } else {
//                            mPtrView.onRefreshComplete();
//                        }
//
//                        List<Topic> datas = (List<Topic>) result.getAttach();
//
//                        if(direction == EDirection.REFRESH) {
//                            OuerApplication.mCacheFactory.getCache(DataCacheImpl.HomeTopicCache.class).save(datas);
//
//                            if(UtilList.isEmpty(datas)) {
//                                mPtrView.setMode(PullToRefreshBase.Mode.DISABLED);
//                                setEmptyText(R.string.common_empty_data);
//                                mHomeTopicAdapter.clearAll();
//                            } else {
//                                int count = UtilList.getCount(datas);
//                                //设置最新的max id
//                                if(count != 0) {
//                                    mMaxId = datas.get(count - 1).getId();
//                                }
//
//                                if(count < CstOuer.PAGE.DEFAULT_SIZE) {
//                                    mPtrView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
//                                } else {
//                                    mPtrView.setMode(PullToRefreshBase.Mode.BOTH);
//                                }
//
//                                mHomeTopicAdapter.setList(datas);
//                            }
//                        } else {
//                            int count = UtilList.getCount(datas);
//                            //设置最新的max id
//                            if(count != 0) {
//                                mMaxId = datas.get(count - 1).getId();
//                            }
//
//                            //数据已读取完
//                            if(count < CstOuer.PAGE.DEFAULT_SIZE) {
//                                mPtrView.setMode(PullToRefreshBase.Mode.PULL_FROM_START);
//                            }
//
//                            mHomeTopicAdapter.addList(datas);
//                        }
//                    }
//
//                    public void onNetUnavaiable(AgnettyResult result) {
//                        super.onNetUnavaiable(result);
//                        boolean flag = (Boolean)mPtrView.getTag();
//                        if(!flag) {
//                            setRetry(true);
//                        } else {
//                            mPtrView.onRefreshComplete();
//                        }
//                    }
//
//                    @Override
//                    public void onException(AgnettyResult result) {
//                        super.onException(result);
//                        boolean flag = (Boolean)mPtrView.getTag();
//                        if(!flag) {
//                            setRetry(true);
//                        } else {
//                            mPtrView.onRefreshComplete();
//                        }
//                    }
//                });
//
//        attachDestroyFutures(future);
//    }
//
//
//    /**
//     *
//     * @author Zhenshui.Xia
//     *
//     */
//    private class BannerPageChangeListener implements BaseViewPager.OnPageChangeListener {
//        //
//        public static final int SCROLL_STATE_IDLE = 0;
//        //
//        public static final int SCROLL_STATE_DRAGGING = 1;
//        //
//        public static final int SCROLL_STATE_SETTLING = 2;
//
//        private int mSize;
//
//        public BannerPageChangeListener(int size) {
//            this.mSize = size;
//        }
//
//        @Override
//        public void onPageScrollStateChanged(int state) {
//            switch (state) {
//                case SCROLL_STATE_IDLE:
//                    break;
//
//                case SCROLL_STATE_DRAGGING:
//                    break;
//
//                case SCROLL_STATE_SETTLING:
//                    break;
//            }
//        }
//
//        @Override
//        public void onPageScrolled(int position, float positionOffset,
//                                   int positionOffsetPixels) {
//        }
//
//        @Override
//        public void onPageSelected(int position) {
//            int index = position % mSize;
//            mLvpIndicator.refreshIndicator(index);
//
//        }
//
//    }
//
//
//
//    /**
//     * 用户是否已签到
//     */
//    private void userIsSign() {
//        AgnettyFuture future = OuerApplication.mOuerFuture.userIsSign(OuerApplication.mUser.getUserId(),
//                new OuerFutureListener(mActivity){
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        SignResult data = (SignResult)result.getAttach();
//                        if(data.isResult()) {
//                            OuerApplication.mPreferences.setSigntime(OuerApplication.mUser.getUserId(),
//                                    UtilDate.formatDate(Calendar.getInstance(), UtilDate.FORMAT_YYYYMMDD));
//                            mIbSign.setImageResource(R.drawable.user_ic_signed);
//                        }
//                    }
//                });
//
//        attachDestroyFutures(future);
//    }
//
//    /**
//     * 用户签到
//     */
//    private void userSign() {
//        final String currDate = UtilDate.formatDate(Calendar.getInstance(), UtilDate.FORMAT_YYYYMMDD);
//        String lastDate = OuerApplication.mPreferences.getSigntime(OuerApplication.mUser.getUserId());
//        if (!currDate.equals(lastDate)) {
//            final AgnettyFuture future = OuerApplication.mOuerFuture.userSign(OuerApplication.mUser.getUserId(),
//                    new OuerFutureListener(mActivity) {
//                        @Override
//                        public void onStart(AgnettyResult result) {
//                            super.onStart(result);
//                            setWaitingDialog(true);
//                        }
//
//                        @Override
//                        public void onComplete(AgnettyResult result) {
//                            super.onComplete(result);
//                            setWaitingDialog(false);
//                            UtilOuer.toast(mActivity, R.string.user_sign_success);
//                            mIbSign.setImageResource(R.drawable.user_ic_signed);
//                            OuerApplication.mPreferences.setSigntime(
//                                    OuerApplication.mUser.getUserId(),
//                                    UtilDate.formatDate(Calendar.getInstance(), UtilDate.FORMAT_YYYYMMDD));
////                            userSignList();
//                            userInfo();
//                        }
//
//                        @Override
//                        public void onException(AgnettyResult result) {
//                            super.onException(result);
//                            setWaitingDialog(false);
//                            UtilOuer.showExceptionToast(mActivity, result, R.string.user_sign_failure);
//                        }
//
//                        @Override
//                        public void onNetUnavaiable(AgnettyResult result) {
//                            super.onNetUnavaiable(result);
//                            setWaitingDialog(false);
//                        }
//                    });
//
//            attachDestroyFutures(future);
//        } else {
//            UtilOuer.toast(mActivity, R.string.user_sign_signed);
//        }
//    }
//
//    /**
//     * 用户签到列表
//     */
//    private void userSignList() {
//        final AgnettyFuture future = OuerApplication.mOuerFuture.userSignList(
//                new OuerFutureListener(mActivity){
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        SignDialog dialog = new SignDialog(mActivity);
//                        dialog.show();
//                    }
//
//                    @Override
//                    public void onNetUnavaiable(AgnettyResult result) {
//
//                    }
//                });
//
//        attachDestroyFutures(future);
//    }
//
//    /**
//     * 用户信息
//     */
//    private void userInfo() {
//        final AgnettyFuture future = OuerApplication.mOuerFuture.getUserInfo(OuerApplication.mUser.getUserId(),
//                new OuerFutureListener(mActivity){
//
//                    @Override
//                    public void onComplete(AgnettyResult result) {
//                        super.onComplete(result);
//                        User user = (User) result.getAttach();
//                        OuerApplication.mUser.setIntegral(user.getIntegral());
//                        OuerDispatcher.sendUserSignBroadcast(mActivity);
//                    }
//
//                    @Override
//                    public void onNetUnavaiable(AgnettyResult result) {
//
//                    }
//                });
//
//        attachDestroyFutures(future);
//    }
//
//}
